package com.ftg.learn.day11.function;

/**
 * 数学 接口
 * 函数式接口 -> lambda
 * @author 布衣
 */
@FunctionalInterface
public interface IDight<E> {
    /**
     * 处理方法
     *
     * @param x 参数
     * @param y 参数
     * @return int
     */
    E deal(E x, E y);

//    public static void main(String[] args) {
    //lambda 表达式
//        () -> {}
    //当接口里面的方法没有参数时，()不能省略 ()->{}
    //当接口里面的方法只有一个参数时 x->{}
    //两个或者多个 (x,y...z)->{}

    //如果只有一个行代码体的时候，{}可以省略 return 可以省略 ;可以省略
//        IDight id = (x,y) ->  x + y;
//    }

    public static void main(String[] args) {
        IDight<Integer> id1 = (x,y) ->  x + y;


        IDight<Integer> id = new IDight<Integer>() {


            @Override
            public Integer deal(Integer x, Integer y) {
                return x + y;
            }
        };
    }
}
